package com.ljd.controller;


import com.ljd.service.PayLogService;
import com.ljd.util.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import springfox.documentation.annotations.Cacheable;

import java.util.Map;

/**
 * <p>
 * 支付日志表 前端控制器
 * </p>
 *
 * @author ljd
 * @since 2022-01-05
 */
@RestController
@RequestMapping("/eduorder/payLog")
//@CrossOrigin
public class PayLogController {
    @Autowired
    PayLogService payLogService;
    /**
     * 生成二维码
     */
    @GetMapping("/createNative/{orderNo}")
    public R createNative(@PathVariable String orderNo){
        Map<String, Object> map = payLogService.createNative(orderNo);
        System.out.println("生成的二维码："+map);
        return R.ok().data(map);
    }
    /**
     * 查询订单支付状态（通过微信第三方url）,查询成功向表中添加支付记录，订单状态修改为已支付，不成功及没有支付
     */
    @GetMapping("/queryPayStatus/{orderNo}")
    public R queryPayStatus(@PathVariable String orderNo){
        Map<String,String> map = payLogService.queryPayStatus(orderNo);
        System.out.println("查询订单状态的map："+map);
        if(map == null){
            return R.error().message("支付出错了");
        }
        if("SUCCESS".equalsIgnoreCase(map.get("trade_state"))){
            // 添加记录到支付表，更新订单表订单状态
            payLogService.updateOrderStatus(map);
            return R.ok().message("支付成功");
        }
        return R.ok().code(25000).message("支付中");
    }
}

